Microsoft DirectX 8.1 (C++)

DVD Command Flags

The DVD command flags passed in the dwFlags parameter of SetOption are used either in addition to or in place of the synchronization object, depending on which approach you are using for the particular method call. The use of DVD_CMD_FLAG_Block was shown in Approach 2 and DVD_CMD_FLAG_SendEvents was illustrated in Approaches 4 through 6. Either of these flags can also be combined in a bitwise OR with another flag, DVD_CMD_FLAG_Flush. This flag causes the method to be executed immediately, without waiting for the one or two seconds of video in the filter graph's buffers to play. Specifying this flag results in a faster response time to user input. Do not use this flag if you need to ensure that a particular video segment finishes completely before the next command is issued. The four flags and their meanings are summarized in the following table.

Name Numeric value Meaning
DVD_CMD_FLAG_None 0x00000000 No flags, meaning the buffer is not flushed before the new command, no events are fired when the operation completes, and the DVD Navigator is not blocked after the method returns.
DVD_CMD_FLAG_Flush 0x00000001 Empty the buffers and immediately start play at the new location.
DVD_CMD_FLAG_SendEvents 0x00000002 Tells the DVD navigator to signal the completion of asynchronous operations and their return value by sending events back to the application.
DVD_CMD_FLAG_Block 0x00000004 Blocks the DVD Navigator until the asynchronous operation completes or is canceled.